<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
//     方法一：
//     function create() {
//     // 创建一个空的对象
//     let obj = new Object()
//     // 获得构造函数
//     let Con = [].shift.call(arguments)
//     // 链接到原型
//     obj.__proto__ = Con.prototype
//     // 绑定 this，执行构造函数
//     let result = Con.apply(obj, arguments)
//     // 确保 new 出来的是个对象
//     return typeof result === 'object' ? result : obj
// }
// 方法二：
// function New(Fn) {
//     let obj = {}
//     let arg = Array.prototype.slice.call(arguments, 1)
//     obj.__proto__ = Fn.prototype
//     obj.__proto__.constructor = Fn
//     Fn.apply(obj, arg)
//     return obj
// }
  </script>
</body>
</html>